package com.anolesoft.yr.mbus.cont.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 合同表
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "cont_main")
public class ContMain implements Serializable {
    public String getObjuid() {
        return objuid;
    }

    public void setObjuid(String objuid) {
        this.objuid = objuid;
    }

    public String getContTypeUid() {
        return contTypeUid;
    }

    public void setContTypeUid(String contTypeUid) {
        this.contTypeUid = contTypeUid;
    }

    public String getContTemplateUid() {
        return contTemplateUid;
    }

    public void setContTemplateUid(String contTemplateUid) {
        this.contTemplateUid = contTemplateUid;
    }

    public Byte getIsTemp() {
        return isTemp;
    }

    public void setIsTemp(Byte isTemp) {
        this.isTemp = isTemp;
    }

    public Date getSignDate() {
        return signDate;
    }

    public void setSignDate(Date signDate) {
        this.signDate = signDate;
    }

    public String getSignAddress() {
        return signAddress;
    }

    public void setSignAddress(String signAddress) {
        this.signAddress = signAddress;
    }

    public String getContCode() {
        return contCode;
    }

    public void setContCode(String contCode) {
        this.contCode = contCode;
    }

    public String getCustomerContractCode() {
        return customerContractCode;
    }

    public void setCustomerContractCode(String customerContractCode) {
        this.customerContractCode = customerContractCode;
    }

    public Byte getPayment() {
        return payment;
    }

    public void setPayment(Byte payment) {
        this.payment = payment;
    }

    public String getContTitle() {
        return contTitle;
    }

    public void setContTitle(String contTitle) {
        this.contTitle = contTitle;
    }

    public String getPartyAUid() {
        return partyAUid;
    }

    public void setPartyAUid(String partyAUid) {
        this.partyAUid = partyAUid;
    }

    public String getClientPartyA() {
        return clientPartyA;
    }

    public void setClientPartyA(String clientPartyA) {
        this.clientPartyA = clientPartyA;
    }

    public String getContPartyA() {
        return contPartyA;
    }

    public void setContPartyA(String contPartyA) {
        this.contPartyA = contPartyA;
    }

    public String getAddressPartyA() {
        return addressPartyA;
    }

    public void setAddressPartyA(String addressPartyA) {
        this.addressPartyA = addressPartyA;
    }

    public String getPhonePartyA() {
        return phonePartyA;
    }

    public void setPhonePartyA(String phonePartyA) {
        this.phonePartyA = phonePartyA;
    }

    public String getFaxPartyA() {
        return faxPartyA;
    }

    public void setFaxPartyA(String faxPartyA) {
        this.faxPartyA = faxPartyA;
    }

    public String getEmailPartyA() {
        return emailPartyA;
    }

    public void setEmailPartyA(String emailPartyA) {
        this.emailPartyA = emailPartyA;
    }

    public String getBankPartyA() {
        return bankPartyA;
    }

    public void setBankPartyA(String bankPartyA) {
        this.bankPartyA = bankPartyA;
    }

    public String getAccountPartA() {
        return accountPartA;
    }

    public void setAccountPartA(String accountPartA) {
        this.accountPartA = accountPartA;
    }

    public String getTariffPartyA() {
        return tariffPartyA;
    }

    public void setTariffPartyA(String tariffPartyA) {
        this.tariffPartyA = tariffPartyA;
    }

    public String getPartyBUid() {
        return partyBUid;
    }

    public void setPartyBUid(String partyBUid) {
        this.partyBUid = partyBUid;
    }

    public String getClientPartyB() {
        return clientPartyB;
    }

    public void setClientPartyB(String clientPartyB) {
        this.clientPartyB = clientPartyB;
    }

    public String getContPartyB() {
        return contPartyB;
    }

    public void setContPartyB(String contPartyB) {
        this.contPartyB = contPartyB;
    }

    public String getAddressPartyB() {
        return addressPartyB;
    }

    public void setAddressPartyB(String addressPartyB) {
        this.addressPartyB = addressPartyB;
    }

    public String getPhonePartyB() {
        return phonePartyB;
    }

    public void setPhonePartyB(String phonePartyB) {
        this.phonePartyB = phonePartyB;
    }

    public String getFaxPartyB() {
        return faxPartyB;
    }

    public void setFaxPartyB(String faxPartyB) {
        this.faxPartyB = faxPartyB;
    }

    public String getEmailPartyB() {
        return emailPartyB;
    }

    public void setEmailPartyB(String emailPartyB) {
        this.emailPartyB = emailPartyB;
    }

    public String getBankPartyB() {
        return bankPartyB;
    }

    public void setBankPartyB(String bankPartyB) {
        this.bankPartyB = bankPartyB;
    }

    public String getAccountPartB() {
        return accountPartB;
    }

    public void setAccountPartB(String accountPartB) {
        this.accountPartB = accountPartB;
    }

    public String getTariffPartyB() {
        return tariffPartyB;
    }

    public void setTariffPartyB(String tariffPartyB) {
        this.tariffPartyB = tariffPartyB;
    }

    public BigDecimal getTax() {
        return tax;
    }

    public void setTax(BigDecimal tax) {
        this.tax = tax;
    }

    public BigDecimal getAmountRmb() {
        return amountRmb;
    }

    public void setAmountRmb(BigDecimal amountRmb) {
        this.amountRmb = amountRmb;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public BigDecimal getExchangeRate() {
        return exchangeRate;
    }

    public void setExchangeRate(BigDecimal exchangeRate) {
        this.exchangeRate = exchangeRate;
    }

    public Byte getContState() {
        return contState;
    }

    public void setContState(Byte contState) {
        this.contState = contState;
    }

    public Byte getPrintNum() {
        return printNum;
    }

    public void setPrintNum(Byte printNum) {
        this.printNum = printNum;
    }

    public String getcUserUid() {
        return cUserUid;
    }

    public void setcUserUid(String cUserUid) {
        this.cUserUid = cUserUid;
    }

    public Date getcTime() {
        return cTime;
    }

    public void setcTime(Date cTime) {
        this.cTime = cTime;
    }

    public String getmUserUid() {
        return mUserUid;
    }

    public void setmUserUid(String mUserUid) {
        this.mUserUid = mUserUid;
    }

    public Date getmTime() {
        return mTime;
    }

    public void setmTime(Date mTime) {
        this.mTime = mTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getCorporationPartA() {
        return corporationPartA;
    }

    public void setCorporationPartA(String corporationPartA) {
        this.corporationPartA = corporationPartA;
    }

    public String getCorporationPartB() {
        return corporationPartB;
    }

    public void setCorporationPartB(String corporationPartB) {
        this.corporationPartB = corporationPartB;
    }

    public String getPostcodePartA() {
        return postcodePartA;
    }

    public void setPostcodePartA(String postcodePartA) {
        this.postcodePartA = postcodePartA;
    }

    public String getPostcodePartB() {
        return postcodePartB;
    }

    public void setPostcodePartB(String postcodePartB) {
        this.postcodePartB = postcodePartB;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public BigDecimal getYear() {
        return year;
    }

    public void setYear(BigDecimal year) {
        this.year = year;
    }

    public BigDecimal getLateFees() {
        return lateFees;
    }

    public void setLateFees(BigDecimal lateFees) {
        this.lateFees = lateFees;
    }

    public BigDecimal getMiss() {
        return miss;
    }

    public void setMiss(BigDecimal miss) {
        this.miss = miss;
    }

    public BigDecimal getDoa() {
        return doa;
    }

    public void setDoa(BigDecimal doa) {
        this.doa = doa;
    }

    public BigDecimal getMissFine() {
        return missFine;
    }

    public void setMissFine(BigDecimal missFine) {
        this.missFine = missFine;
    }

    public BigDecimal getDoaFine() {
        return doaFine;
    }

    public void setDoaFine(BigDecimal doaFine) {
        this.doaFine = doaFine;
    }

    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    public String getMediator() {
        return mediator;
    }

    public void setMediator(String mediator) {
        this.mediator = mediator;
    }

    public Date getDeliveryDay() {
        return deliveryDay;
    }

    public void setDeliveryDay(Date deliveryDay) {
        this.deliveryDay = deliveryDay;
    }

    public String getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(String deliveryType) {
        this.deliveryType = deliveryType;
    }

    public String getTransportType() {
        return transportType;
    }

    public void setTransportType(String transportType) {
        this.transportType = transportType;
    }

    public String getFreightBear() {
        return freightBear;
    }

    public void setFreightBear(String freightBear) {
        this.freightBear = freightBear;
    }

    public String getDeliveryAddress() {
        return deliveryAddress;
    }

    public void setDeliveryAddress(String deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }

    public String getDeliveryCompanyName() {
        return deliveryCompanyName;
    }

    public void setDeliveryCompanyName(String deliveryCompanyName) {
        this.deliveryCompanyName = deliveryCompanyName;
    }

    public String getDeliveryName() {
        return deliveryName;
    }

    public void setDeliveryName(String deliveryName) {
        this.deliveryName = deliveryName;
    }

    public String getDeliveryPhone() {
        return deliveryPhone;
    }

    public void setDeliveryPhone(String deliveryPhone) {
        this.deliveryPhone = deliveryPhone;
    }

    public String getFormalContract() {
        return formalContract;
    }

    public void setFormalContract(String formalContract) {
        this.formalContract = formalContract;
    }

    public String getVip() {
        return vip;
    }

    public void setVip(String vip) {
        this.vip = vip;
    }

    public List<ContContent> getContContents() {
        return contContents;
    }

    public void setContContents(List<ContContent> contContents) {
        this.contContents = contContents;
    }

    public String getPreOrderUid() {
        return preOrderUid;
    }

    public void setPreOrderUid(String preOrderUid) {
        this.preOrderUid = preOrderUid;
    }

    public List<ContPayment> getContPayments() {
        return contPayments;
    }

    public void setContPayments(List<ContPayment> contPayments) {
        this.contPayments = contPayments;
    }

    public Integer getRows() {
        return rows;
    }

    public void setRows(Integer rows) {
        this.rows = rows;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Date getSignDateL() {
        return signDateL;
    }

    public void setSignDateL(Date signDateL) {
        this.signDateL = signDateL;
    }

    public Date getSignDateG() {
        return signDateG;
    }

    public void setSignDateG(Date signDateG) {
        this.signDateG = signDateG;
    }

    /**
     * 主键
     */
    @TableId(value = "objuid", type = IdType.INPUT)
    private String objuid;

    /**
     * 合同类型主键
     */
    @TableField(value = "cont_type_uid")
    private String contTypeUid;

    /**
     * 合同模板表主键
     */
    @TableField(value = "cont_template_uid")
    private String contTemplateUid;

    /**
     * 是否临时合同
     */
    @TableField(value = "is_temp")
    private Byte isTemp;

    /**
     * 签订日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "sign_date")
    private Date signDate;

    /**
     * 签订地点
     */
    @TableField(value = "sign_address")
    private String signAddress;

    /**
     * 合同编号
     */
    @TableField(value = "cont_code")
    private String contCode;

    /**
     * 客户合同编号
     */
    @TableField(value = "customer_contract_code")
    private String customerContractCode;

    /**
     * 支付方式
     */
    @TableField(value = "payment")
    private Byte payment;

    /**
     * 项目名称
     */
    @TableField(value = "cont_title")
    private String contTitle;

    /**
     * 甲方主键
     */
    @TableField(value = "party_a_uid")
    private String partyAUid;

    /**
     * 甲方委托方
     */
    @TableField(value = "client_party_a")
    private String clientPartyA;

    /**
     * 甲方联系方式
     */
    @TableField(value = "cont_party_a")
    private String contPartyA;

    /**
     * 甲方通讯地址
     */
    @TableField(value = "address_party_a")
    private String addressPartyA;

    /**
     * 甲方联系电话
     */
    @TableField(value = "phone_party_a")
    private String phonePartyA;

    /**
     * 甲方传真号码
     */
    @TableField(value = "fax_party_a")
    private String faxPartyA;

    /**
     * 甲方电子信箱
     */
    @TableField(value = "email_party_a")
    private String emailPartyA;

    /**
     * 甲方银行名称
     */
    @TableField(value = "bank_party_a")
    private String bankPartyA;

    /**
     * 甲方银行账户
     */
    @TableField(value = "account_part_a")
    private String accountPartA;

    /**
     * 甲方纳税人识别号
     */
    @TableField(value = "tariff_party_a")
    private String tariffPartyA;

    /**
     * 乙方主键
     */
    @TableField(value = "party_b_uid")
    private String partyBUid;

    /**
     * 乙方委托方
     */
    @TableField(value = "client_party_b")
    private String clientPartyB;

    /**
     * 乙方联系方式
     */
    @TableField(value = "cont_party_b")
    private String contPartyB;

    /**
     * 乙方通讯地址
     */
    @TableField(value = "address_party_b")
    private String addressPartyB;

    /**
     * 乙方联系电话
     */
    @TableField(value = "phone_party_b")
    private String phonePartyB;

    /**
     * 乙方传真号码
     */
    @TableField(value = "fax_party_b")
    private String faxPartyB;

    /**
     * 乙方电子信箱
     */
    @TableField(value = "email_party_b")
    private String emailPartyB;

    /**
     * 乙方银行名称
     */
    @TableField(value = "bank_party_b")
    private String bankPartyB;

    /**
     * 乙方银行账户
     */
    @TableField(value = "account_part_b")
    private String accountPartB;

    /**
     * 乙方纳税人识别号
     */
    @TableField(value = "tariff_party_b")
    private String tariffPartyB;

    /**
     * 税率
     */
    @TableField(value = "tax")
    private BigDecimal tax;

    /**
     * 合同金额（RMB）
     */
    @TableField(value = "amount_rmb")
    private BigDecimal amountRmb;

    /**
     * 合同金额
     */
    @TableField(value = "amount")
    private BigDecimal amount;

    /**
     * 币种
     */
    @TableField(value = "currency")
    private String currency;

    /**
     * 汇率
     */
    @TableField(value = "exchange_rate")
    private BigDecimal exchangeRate;

    /**
     * 合同状态
     * 作废、生成、审批、导出、上传、
     */
    @TableField(value = "cont_state")
    private Byte contState;

    /**
     * 打印次数
     */
    @TableField(value = "print_num")
    private Byte printNum;

    /**
     * 创建人(合同销售负责人)
     */
    @TableField(value = "c_user_uid")
    private String cUserUid;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "c_time")
    private Date cTime;

    /**
     * 修改人
     */
    @TableField(value = "m_user_uid")
    private String mUserUid;

    /**
     * 修改时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "m_time")
    private Date mTime;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 甲方企业法人姓名
     */
    @TableField(value = "corporation_part_a")
    private String corporationPartA;

    /**
     * 乙方企业法人姓名
     */
    @TableField(value = "corporation_part_b")
    private String corporationPartB;

    /**
     * 甲方邮政编码
     */
    @TableField(value = "postcode_part_a")
    private String postcodePartA;

    /**
     * 乙方邮政编码
     */
    @TableField(value = "postcode_part_b")
    private String postcodePartB;

    /**
     * 服务开始时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "start_time")
    private Date startTime;

    /**
     * 服务结束时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")

    @TableField(value = "end_time")
    private Date endTime;

    /**
     * 服务时长
     */
    @TableField(value = "`year`")
    private BigDecimal year;

    /**
     * 滞纳金/天
     */
    @TableField(value = "late_fees")
    private BigDecimal lateFees;

    /**
     * miss率控制值
     */
    @TableField(value = "miss")
    private BigDecimal miss;

    /**
     * doa控制值
     */
    @TableField(value = "doa")
    private BigDecimal doa;

    /**
     * miss罚款
     */
    @TableField(value = "miss_fine")
    private BigDecimal missFine;

    /**
     * doa罚款
     */
    @TableField(value = "doa_fine")
    private BigDecimal doaFine;

    /**
     * 甲方押金
     */
    @TableField(value = "deposit")
    private BigDecimal deposit;

    /**
     * 调解人
     */
    @TableField(value = "mediator")
    private String mediator;

    /**
     * 交货时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "delivery_day")
    private Date deliveryDay;

    /**
     * 交货方式
     */
    @TableField(value = "delivery_type")
    private String deliveryType;

    /**
     * 运输方式
     */
    @TableField(value = "transport_type")
    private String transportType;

    /**
     * 运费承担方
     */
    @TableField(value = "freight_bear")
    private String freightBear;

    /**
     * 收货地址
     */
    @TableField(value = "delivery_address")
    private String deliveryAddress;

    /**
     * 收获公司名称
     */
    @TableField(value = "delivery_company_name")
    private String deliveryCompanyName;

    /**
     * 收货人姓名
     */
    @TableField(value = "delivery_name")
    private String deliveryName;

    /**
     * 收货人联系电话
     */
    @TableField(value = "delivery_phone")
    private String deliveryPhone;

    /**
     * 正式合同编号
     */
    @TableField(value = "formal_contract")
    private String formalContract;

    /**
     * 是否vip
     */
    @TableField(value = "vip")
    private String vip;

    @TableField(exist = false)
    private List<ContContent> contContents;

    @TableField(value = "pre_order_uid")
    private String preOrderUid;
    private static final long serialVersionUID = 1L;

    public static final String COL_OBJUID = "objuid";

    public static final String COL_PRE_ORDER_UID = "pre_order_uid";

    public static final String COL_CONT_TYPE_UID = "cont_type_uid";

    public static final String COL_CONT_TEMPLATE_UID = "cont_template_uid";

    public static final String COL_IS_TEMP = "is_temp";

    public static final String COL_SIGN_DATE = "sign_date";

    public static final String COL_SIGN_ADDRESS = "sign_address";

    public static final String COL_CONT_CODE = "cont_code";

    public static final String COL_CUSTOMER_CONTRACT_CODE = "customer_contract_code";

    public static final String COL_PAYMENT = "payment";

    public static final String COL_CONT_TITLE = "cont_title";

    public static final String COL_PARTY_A_UID = "party_a_uid";

    public static final String COL_CLIENT_PARTY_A = "client_party_a";

    public static final String COL_CONT_PARTY_A = "cont_party_a";

    public static final String COL_ADDRESS_PARTY_A = "address_party_a";

    public static final String COL_PHONE_PARTY_A = "phone_party_a";

    public static final String COL_FAX_PARTY_A = "fax_party_a";

    public static final String COL_EMAIL_PARTY_A = "email_party_a";

    public static final String COL_BANK_PARTY_A = "bank_party_a";

    public static final String COL_ACCOUNT_PART_A = "account_part_a";

    public static final String COL_TARIFF_PARTY_A = "tariff_party_a";

    public static final String COL_PARTY_B_UID = "party_b_uid";

    public static final String COL_CLIENT_PARTY_B = "client_party_b";

    public static final String COL_CONT_PARTY_B = "cont_party_b";

    public static final String COL_ADDRESS_PARTY_B = "address_party_b";

    public static final String COL_PHONE_PARTY_B = "phone_party_b";

    public static final String COL_FAX_PARTY_B = "fax_party_b";

    public static final String COL_EMAIL_PARTY_B = "email_party_b";

    public static final String COL_BANK_PARTY_B = "bank_party_b";

    public static final String COL_ACCOUNT_PART_B = "account_part_b";

    public static final String COL_TARIFF_PARTY_B = "tariff_party_b";

    public static final String COL_TAX = "tax";

    public static final String COL_AMOUNT_RMB = "amount_rmb";

    public static final String COL_AMOUNT = "amount";

    public static final String COL_CURRENCY = "currency";

    public static final String COL_EXCHANGE_RATE = "exchange_rate";

    public static final String COL_CONT_STATE = "cont_state";

    public static final String COL_PRINT_NUM = "print_num";

    public static final String COL_C_USER_UID = "c_user_uid";

    public static final String COL_C_TIME = "c_time";

    public static final String COL_M_USER_UID = "m_user_uid";

    public static final String COL_M_TIME = "m_time";

    public static final String COL_REMARK = "remark";

    public static final String COL_CORPORATION_PART_A = "corporation_part_a";

    public static final String COL_CORPORATION_PART_B = "corporation_part_b";

    public static final String COL_POSTCODE_PART_A = "postcode_part_a";

    public static final String COL_POSTCODE_PART_B = "postcode_part_b";

    public static final String COL_START_TIME = "start_time";

    public static final String COL_END_TIME = "end_time";

    public static final String COL_YEAR = "year";

    public static final String COL_LATE_FEES = "late_fees";

    public static final String COL_MISS = "miss";

    public static final String COL_DOA = "doa";

    public static final String COL_MISS_FINE = "miss_fine";

    public static final String COL_DOA_FINE = "doa_fine";

    public static final String COL_DEPOSIT = "deposit";

    public static final String COL_MEDIATOR = "mediator";

    public static final String COL_DELIVERY_DAY = "delivery_day";

    public static final String COL_DELIVERY_TYPE = "delivery_type";

    public static final String COL_TRANSPORT_TYPE = "transport_type";

    public static final String COL_FREIGHT_BEAR = "freight_bear";

    public static final String COL_DELIVERY_ADDRESS = "delivery_address";

    public static final String COL_DELIVERY_COMPANY_NAME = "delivery_company_name";

    public static final String COL_DELIVERY_NAME = "delivery_name";

    public static final String COL_DELIVERY_PHONE = "delivery_phone";

    public static final String COL_FORMAL_CONTRACT = "formal_contract";

    public static final String COL_VIP = "vip";

    @TableField(exist = false)
    private transient SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");

    @TableField(exist = false)
    private List<ContPayment> contPayments;

    public Map<String, String> toMap() {
        Map<String, String> map = new HashMap<>();
        map.put("objuid", objuid);
        map.put("cont_type_uid", contTypeUid.toString());
        map.put("cont_template_uid", contTemplateUid);
        map.put("is_temp", isTemp.toString());
        map.put("sign_date", signDate == null ? "" : format.format(signDate));
        map.put("sign_address", signAddress);
        map.put("cont_no", contCode);
        map.put("customer_contract_no", customerContractCode);
        map.put("payment", payment + "");
        map.put("cont_title", contTitle);
        map.put("party_a_uid", partyAUid);
        map.put("client_party_a", clientPartyA);
        map.put("cont_party_a", contPartyA);
        map.put("address_party_a", addressPartyA);
        map.put("phone_party_a", phonePartyA);
        map.put("fax_party_a", faxPartyA);
        map.put("email_party_a", emailPartyA);
        map.put("bank_party_a", bankPartyA);
        map.put("account_part_a", accountPartA);
        map.put("tariff_party_a", tariffPartyA);
        map.put("party_b_uid", partyBUid);
        map.put("client_party_b", clientPartyB);
        map.put("cont_party_b", contPartyB);
        map.put("address_party_b", addressPartyB);
        map.put("phone_party_b", phonePartyB);
        map.put("fax_party_b", faxPartyB);
        map.put("email_party_b", emailPartyB);
        map.put("bank_party_b", bankPartyB);
        map.put("account_part_b", accountPartB);
        map.put("tariff_party_b", tariffPartyB);
        map.put("tax", tax + "");
        map.put("amount_rmb", amountRmb + "");
        map.put("amount", amount + "");
        map.put("currency", currency);
        map.put("exchange_rate", exchangeRate + "");
        map.put("cont_state", contState + "");
        map.put("print_num", printNum + "");
        map.put("c_user_uid", cUserUid);
        map.put("c_time", cTime == null ? "" : format.format(cTime));
        map.put("m_user_uid", mUserUid);
        map.put("m_time", mTime == null ? "" : format.format(mTime));
        map.put("remark", remark);
        map.put("corporation_part_a", corporationPartA);
        map.put("corporation_part_b", corporationPartB);
        map.put("postcode_part_a", postcodePartA);
        map.put("postcode_part_b", postcodePartB);
        map.put("start_time", startTime == null ? "" : format.format(startTime));
        map.put("end_time", endTime == null ? "" : format.format(endTime));
        map.put("year", year + "");
        map.put("late_fees", lateFees + "");
        map.put("miss", miss + "");
        map.put("doa", doa + "");
        map.put("miss_fine", missFine + "");
        map.put("doa_fine", doaFine + "");
        map.put("deposit", deposit + "");
        map.put("mediator", mediator);
        map.put("delivery_day", deliveryDay + "");
        map.put("delivery_type", deliveryType);
        map.put("transport_type", transportType);
        map.put("freight_bear", freightBear);
        map.put("delivery_address", deliveryAddress);
        map.put("delivery_company_name", deliveryCompanyName);
        map.put("delivery_name", deliveryName);
        map.put("delivery_phone", deliveryPhone);
        map.put("formal_contract", formalContract);
        return map;
    }


    @TableField(exist = false)
    private Integer rows;

    @TableField(exist = false)
    private Integer page;


    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(exist = false)
    private Date signDateL;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(exist = false)
    private Date signDateG;
}